import 'package:dio/dio.dart';

/// 一般为dio自己本身的问题 SocketExceptions 没有网络 Http返回的statusCode不是200 等～
class DioHttpError extends DioException {
  DioHttpError({required super.requestOptions, required dynamic super.error})
      : super(type: DioExceptionType.connectionError);
}

/// 一般为5XX系列接口问题错误
class DioResponseError extends DioException {
  DioResponseError({required super.requestOptions, required dynamic error})
      : super(
          error: error ?? "后台出现问题，请及时通知管理员",
          type: DioExceptionType.badResponse,
        );
}

/// 一般为401 402接口身份信息过气问题 需要重新登录
class DioUnAuthorizedError extends DioException {
  DioUnAuthorizedError({required super.requestOptions, required dynamic error})
      : super(
          error: error ?? "接口身份验证出现问题啦～",
          type: DioExceptionType.badCertificate,
        );
}
